package com.yungu.swift.lbs.model;

import com.yungu.swift.utils.JsonUtils;

import java.io.Serializable;
import java.util.Date;

/**
 * 司机行驶轨迹信息.
 * Created by cuixiuyin on 2018/12/9.
 */
public class DriverLocation implements Serializable {

    private String _id;
    /**
     * 空间索引
     */
    private String geohash;
    /**
     * 上传时间
     */
    private Date uploadTime;
    /**
     * 记录创建时间
     */
    private Date createTime;
    /**
     * 当前角度
     */
    private Double angle;
    /**
     * 与上一点距离
     */
    private Double distance;
    /**
     * 地理位置
     */
    private Coordinate coordinate;
    /**
     * 应用ID
     */
    private String appid;
    /**
     * 司机UUID
     */
    private String driverUuid;
    /**
     * 订单UUID
     */
    private String orderUuid;
    /**
     * 订单中累计距离
     */
    private Double mileage;
    /**
     * 订单中实时费用
     */
    private Double fee;
    /**
     * 司机类型
     */
    private Integer type;
    /**
     * 订单状态（0:进行中[出发－送达]订单外；210：司机出发、去接乘客；220：司机到达、等待乘客；300：乘客上车、行程开始；400：司机送达目的地）
     */
    private Integer orderStatus;
    /**
     * 高德 —— 轨迹 id
     */
    private String trid;

    //监管平台字段
    /**
     * 区域编码
     */
    private String areaCode;
    /**
     * 海拔高度
     */
    private Double elevation;
    /**
     * 瞬时速度
     */
    private Double speed;
    /**
     * 营运状态 1：载客、2：接单、3：空驶（未接到乘客）、4：停运
     */
    private String bizStatus;
    /**
     * 经度
     */
    private Double accuracy;
    /**
     * 位置信息类型  SJSB司机上班,SJXB司机下班,CKSC乘客上车,CKXC乘客下车,AUTO定时上传,DDPD派单
     */
    private String positionType;
    /**
     * 车型类别
     */
    private String carModelType;
    /**
     * 状态 1在线空车 2在线重车
     */
    private Integer status;
    /**
     * app版本
     */
    private String appVersion;
    /**
     * 手机版本
     */
    private String phoneVersion;
    /**
     * 给后台地图显示的标志 状态 1、空车 2、接客中 3、载客中 4、离线 5、收车
     */
    private String mapStatus;

    /**
     * 跨城主订单ID
     */
    private String mainOrderUuid;

    /**
     * 跨城主状态
     */
    private Integer mainJoinStatus;

    /**
     * 跨城子状态
     */
    private Integer joinStatus;

    public String get_id() {
        return _id;
    }

    public void set_id(String _id) {
        this._id = _id;
    }

    public String getGeohash() {
        return geohash;
    }

    public void setGeohash(String geohash) {
        this.geohash = geohash;
    }

    public Date getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(Date uploadTime) {
        this.uploadTime = uploadTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Double getAngle() {
        return angle;
    }

    public void setAngle(Double angle) {
        this.angle = angle;
    }

    public Double getDistance() {
        return distance;
    }

    public void setDistance(Double distance) {
        this.distance = distance;
    }

    public Coordinate getCoordinate() {
        return coordinate;
    }

    public void setCoordinate(Coordinate coordinate) {
        this.coordinate = coordinate;
    }

    public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getMapStatus() {
        return mapStatus;
    }

    public void setMapStatus(String mapStatus) {
        this.mapStatus = mapStatus;
    }

    public String getAppVersion() {
        return appVersion;
    }

    public void setAppVersion(String appVersion) {
        this.appVersion = appVersion;
    }

    public String getPhoneVersion() {
        return phoneVersion;
    }

    public void setPhoneVersion(String phoneVersion) {
        this.phoneVersion = phoneVersion;
    }

    public String getCarModelType() {
        return carModelType;
    }

    public void setCarModelType(String carModelType) {
        this.carModelType = carModelType;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getPositionType() {
        return positionType;
    }

    public void setPositionType(String positionType) {
        this.positionType = positionType;
    }

    public Double getAccuracy() {
        return accuracy;
    }

    public void setAccuracy(Double accuracy) {
        this.accuracy = accuracy;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public Double getElevation() {
        return elevation;
    }

    public void setElevation(Double elevation) {
        this.elevation = elevation;
    }

    public Double getSpeed() {
        return speed;
    }

    public void setSpeed(Double speed) {
        this.speed = speed;
    }

    public String getBizStatus() {
        return bizStatus;
    }

    public void setBizStatus(String bizStatus) {
        this.bizStatus = bizStatus;
    }

    public String getDriverUuid() {
        return driverUuid;
    }

    public void setDriverUuid(String driverUuid) {
        this.driverUuid = driverUuid;
    }

    public String getOrderUuid() {
        return orderUuid;
    }

    public void setOrderUuid(String orderUuid) {
        this.orderUuid = orderUuid;
    }

    public Double getMileage() {
        return mileage;
    }

    public void setMileage(Double mileage) {
        this.mileage = mileage;
    }

    public Double getFee() {
        return fee;
    }

    public void setFee(Double fee) {
        this.fee = fee;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public String getTrid() {
        return trid;
    }

    public void setTrid(String trid) {
        this.trid = trid;
    }

    public String getMainOrderUuid() {
        return mainOrderUuid;
    }

    public void setMainOrderUuid(String mainOrderUuid) {
        this.mainOrderUuid = mainOrderUuid;
    }

    public Integer getMainJoinStatus() {
        return mainJoinStatus;
    }

    public void setMainJoinStatus(Integer mainJoinStatus) {
        this.mainJoinStatus = mainJoinStatus;
    }

    public Integer getJoinStatus() {
        return joinStatus;
    }

    public void setJoinStatus(Integer joinStatus) {
        this.joinStatus = joinStatus;
    }

    @Override
    public String toString() {
        return JsonUtils.toJSONString(this);
    }
}
